home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 1.iso / toolbox / src / tutorials / custEducation / opengl1 / Release_Notes < prev    next >
Encoding:
Text File  |  1996-11-11  |  5.3 KB  |  212 lines

  1. Course Release
  2. Course: OpenGL Programming 1 (LBT102)
  3. Revision: 2.0, June 1996
  4. Operating Systems: IRIX 5.3 or newer
  5. Supported Platforms: 
  6. Should run on all platforms that support OpenGL.
  7. Engineer: Revision by Kris Solem (kris@csd), 5-9728, Mail Stop 17L-171
  8. Much of the original development was done by David Shreiner.
  9.  
  10.  
  11. SUMMARY OF CHANGES:
  12. Since the last revision (4/95, OpenGL1-1.0) the display lists module
  13. was moved from opengl2 into opengl1.  
  14. The order of the modules was changed to move lighting earlier.
  15. All examples and answers have been converted to use the GLUT library.
  16. There is no longer a separate input module; input handling examples
  17. are shown when needed.
  18.  
  19.  
  20. GETTING THE NEW COURSE:
  21.  
  22. The actual class software is in instable format in the Course
  23. Repository.  For more info on the repository, e-mail Nick Dais at
  24. nickd@csd.sgi.com.
  25.  
  26.  
  27. COURSE SOFTWARE SETUP:
  28.  
  29. IRIX 5.3 or newer.  The following subsystems must be installed in
  30. addition to the normal irix subsystems:  c, dev, gl_dev, x_dev,
  31. desktop_tools, glut_dev
  32.  
  33. The class software is installed in /usr/people/opengl1.
  34. If an account name 'opengl1' does not already exist, an
  35. account up in /etc/passwd with /usr/people/opengl1 as its home.
  36.  
  37. opengl1 has a top level Makefile to compile the class software. 
  38.  
  39. Initially, everything is compiled.  To remove the binaries, you
  40. can type
  41.  
  42. % make clobber
  43.  
  44. To remake everything, go to the top level and make, ie 
  45. % cd ~opengl1
  46. % make 
  47.  
  48.  
  49. Directory structure:
  50.  
  51.     lib
  52.         An enhanced version of the aux library used in
  53.         the OpenGL Programming Guide.
  54.  
  55.     examples
  56.         All of the code for the examples shown in the
  57.         Student Manual.
  58.         
  59.     answers
  60.         Sample answers for the course laboratory exercises.
  61.  
  62.     labs
  63.         Code for the course laboratory exercises.
  64.  
  65.     demos
  66.         Extra demonstration programs.  Some come only in
  67.         binary form.  Most also include the source.
  68.  
  69.  
  70. DETAILED CHANGES/BUG FIXES SINCE LAST REV.
  71.  
  72. Overall 
  73.  
  74.     All examples and demos converted to GLUT.
  75.     
  76.  
  77. lib 
  78.     Removed all of the aux library functions.
  79.  
  80.     To cut down on repeated code, several new routines were added to
  81.     the class library.  The first time a function is used, it is shown
  82.     in the code.  From then on, the corresponding function in the 
  83.     library is called. The new functions are:
  84.         checkError
  85.         SolidGrid
  86.         WireGrid
  87.         XYaxes
  88.         XYZaxes
  89.         checkerboard
  90.  
  91.  
  92. Intro
  93.     Added stuff about OpenGL extensions.
  94.  
  95.  
  96. Windows
  97.     Added input.c to demonstrate how to use keyboard input.  There
  98.     is no longer a separate input module.
  99.  
  100.  
  101. Rendering
  102.     Combined pointGrid and lineGrid into one example called grid.c; it
  103.     uses keyboard input to toggle between point and line drawing.
  104.  
  105.  
  106. Basic Transformation
  107.     Added the camera analogy diagram.
  108.  
  109.     Replaced translate.c, rotate.c and scale.c with transforms.c which
  110.     shows all three transformations.
  111.  
  112.     Added matrixmodes.c example to demonstrate how to use the matrix
  113.     stacks.
  114.  
  115. Scene Modeling
  116.     Rearranged somewhat.
  117.  
  118.     Replaced translateRotate.c and rotateTranslate.c with order.c, which
  119.     uses a keyboard input to toggle the drawing order.
  120.  
  121.     Added more information about how to perform independent transformations.
  122.  
  123.  
  124. Viewports
  125.     Not much changed.
  126.  
  127.  
  128. Depth Buffering
  129.     Added GL_EXT_polygon_offset information and example.
  130.  
  131.     Modified painter.c to rotate a polygon into the grid when a particular
  132.     key is pressed.  Removed the intersect.c example.
  133.  
  134.  
  135. Viewing
  136.     Added mouse.c example to demonstrate how to control the view using
  137.     mouse input. (lookat.c and polarView.c use the arrow keys for control).
  138.     
  139.  
  140. Basic Lighting
  141.     Moved earlier in course so that objects really start to look 3D.
  142.  
  143.     Combined part of the former light properties module here.
  144.  
  145.     Combined faceNormal.c and vertexNormal.c into normals.c.
  146.  
  147.     Added lightIntensity.c example to show the affects of the light color
  148.     on objects.
  149.  
  150.     Moved colorMaterial.c example here along with the rest of the materials
  151.     discussion.
  152.  
  153.     Includes the lighting equations.
  154.  
  155.  
  156. Animation
  157.     Added menu.c example to show how control animation using a menu.
  158.  
  159.  
  160. Advanced Lighting:
  161.     Covers spotlights and attenuation, and the lighting model properties.
  162.  
  163.  
  164. Text
  165.     Expanded the XLFD table to describe all of the fields.
  166.  
  167.     Added a page describing how to put text in a 3D scene.
  168.  
  169.     text.c - essentially the same
  170.     fineClip.c - modified to adjust the aspect ratio for the new
  171.         viewport size
  172.     text3D.c - shows how to put both stationary and moving text into
  173.         a 3D scene
  174.  
  175.         
  176. Display Lists
  177.     Moved here from OpenGL 2.
  178.  
  179.     dlists.c - demonstrates the performance gain from using display lists.
  180.     koosh.c - demonstrates how to put state information (such as lighting
  181.         properties) into hierarchical display lists
  182.     fonts.c - demonstrates how to create 3D fonts using display lists
  183.         
  184.     
  185. Alpha Blending 
  186.     
  187.     alpha.c - shows the effect of using different blending factors
  188.     alpha3D.c - shows how to use the depth mask to draw transparent
  189.         objects in 3D scenes
  190.  
  191.     blend_equations.c - demonstrates the GL_EXT_blend_minmax, 
  192.         GL_EXT_blend_subtract and GL_EXT_logic_op extensions.
  193.  
  194.     Moved the alpha values and lighting discussion here, along
  195.     with the spotLightAlpha example.
  196.  
  197.     Moved antialiasing of points and lines here.  Antialiasing of
  198.     polygons in discussed briefly in the module summary, but the
  199.     main discussion is deferred to OpenGL 2 when the accumulation
  200.     buffer, and multisampling are covered.
  201.  
  202.  
  203. IRIS GL vs. OpenGL appendix
  204.     Examples converted to GLUT.
  205.  
  206.  
  207. porting appendix
  208.     No change.
  209.  
  210. FAQ appendix
  211.     Updated to most recently posted faq.
  212.